1. Field
The disclosure relates to a method, system, and article of manufacture for an interface for the management of data movement in a thin provisioned storage system.
2. Background
A storage system may be comprised of a storage controller that controls a plurality of physical storage devices. The plurality of physical storage devices may include hard disks, solid state disks, tapes, etc. The storage controller may configure the plurality of physical storage devices into a plurality of logical storage devices comprising a plurality of storage volumes.
In a storage system, a logical unit number or LUN is a number used to identify a logical unit. A logical unit is a logical storage device addressed by a storage protocol, such as Small Computer System Interface (SCSI), Fibre Channel, Internet Small Computer System Interface (iSCSI), etc., that may be used in the storage system.
Data movement operations within the storage system may occur for a variety of reasons, including the movement of a file from one file system to another, the defragmentation of a file system, the alignment of blocks, etc. Data movement operations may involve moving data from a source logical unit (LUN) to a target LUN. While copying data from a source LUN to a target LUN, the data may first have to be copied from the source LUN to the host memory, and then the data may be written to the desired destination on the target LUN by copying the data from the host memory to the target LUN.
Thin provisioning mechanisms may apply to storage systems. A storage system that uses thin provisioning may be referred to as a thin provisioned storage system. Thin provisioning allocates storage (e.g., physical disk blocks or other equivalent elements of storage capacity) when application data is effectively written to a host attached storage volume. This is the difference with the traditional, fully provisioned storage volume, where the storage volume capacity is entirely allocated at the time the storage volume is created. If fully provisioned storage volumes are used, then the host to which the fully provisioned storage volume is attached owns the full storage capacity, and this consumes additional storage in the back-end system.
A storage volume supporting thin provisioning is referred to as a space efficient storage volume. At the time the space efficient storage volume is created, the storage volume is created as if it is able to provide the full capacity requested by the user, but because the actual allocation of storage space will only take place with the first host write to the storage volume, this capacity is a virtual capacity. All Input/Output (I/O) activities performed by the storage system to allocate space when needed are fully transparent to the host.